#include "curlRequest.h"
void sendGetRequest(char* url,size_t (*fn)(void*, size_t, size_t , void*)){
     //1.初始化一个curl
    CURL *curl= curl_easy_init();
    
    curl_easy_setopt(curl,CURLOPT_URL,url);

    curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,fn);

    CURLcode code = curl_easy_perform(curl);

    if (code!=CURLE_OK )
    {
         fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(code));
    }
    

    curl_easy_cleanup(curl);


}
void sendPostRequest(char* url,char*parmStr,size_t (*fn)(void*, size_t, size_t , void*)){
     //1.初始化一个curl
    CURL *curl= curl_easy_init();
    
    //2.给curl设置一些对应的选项（目标地址，回调函数，请求参数，发送文件）
    curl_easy_setopt(curl,CURLOPT_URL,url);

    //3.发送请求参数
    curl_easy_setopt(curl,CURLOPT_POSTFIELDS,parmStr);
    //4.设置回调函数
    curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,fn);

    //5.发送请求
    CURLcode code = curl_easy_perform(curl);

    if (code!=CURLE_OK )
    {
         fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(code));
    }
    
    //6.清理
    curl_easy_cleanup(curl);


}

int downloadRes(char *url,char * savleFilePath){
    //要保持的文件路径
    FILE *saveFile =  fopen(savleFilePath,"wb");
    //初始化
    CURL *curl = curl_easy_init();
    if (curl)
    {
        //设置相关参数  url  存数据的文件
        curl_easy_setopt(curl,CURLOPT_URL,url);   
        //设置访问资源之间存放文件
        curl_easy_setopt(curl,CURLOPT_FILE,saveFile);  
        
        //发请求
         CURLcode res = curl_easy_perform(curl);

        //判断是否发送成功
        if (res!=CURLE_OK)
        {
            fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
            return -1;
        }
        curl_easy_cleanup(curl);

    }
    
    return 0;
}